package com.jrx.anytxn.param.mapper.ext;

import com.jrx.anytxn.param.entity.PrCreditLimitTemplate;
import com.jrx.anytxn.param.mapper.base.PrCreditLimitTemplateMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author by yf
 * @Classname ExtPrCreditLimitTemplateMapper
 * @Description 额度模板mapper
 * @Date 2019/6/12 0012 下午 18:23
 */
public interface ExtPrCreditLimitTemplateMapper extends PrCreditLimitTemplateMapper {

    /**
     * 根据租户ID查询所有额度模板表信息
     *
     * @param tenantId 租户ID
     * @return java.util.List<com.jrx.anytxn.param.entity.PrCreditLimitTemplate>
     * @author fan.yang
     * date: 2019/10/16 0016 下午 13:37
     */
    List<PrCreditLimitTemplate> selectAllLimitTemplateByTenId(String tenantId);


    /**
     * 根据模板ID和租户ID查询额度模板信息列表
     *
     * @param templateId 模板ID
     * @param tenantId   租户ID
     * @return java.util.List<com.jrx.anytxn.param.entity.PrCreditLimitTemplate>
     * @author fan.yang
     * date: 2019/10/16 0016 下午 14:45
     */
    List<PrCreditLimitTemplate> selectLimitListByTempIdAndTenId(@Param("templateId") String templateId, @Param("tenantId") String tenantId);


    /**
     * 根据模板ID和租户ID查询额度模板信息
     *
     * @param templateId 模板ID
     * @param tenantId   租户ID
     * @return com.jrx.anytxn.param.entity.PrCreditLimitTemplate
     * @author fan.yang
     * date: 2019/10/16 0016 下午 14:44
     */
    PrCreditLimitTemplate selectLimitTemplateByTempIdAndTenId(@Param("templateId") String templateId, @Param("tenantId") String tenantId);


    /**
     * 根据额度模板ID和租户ID删除信息
     *
     * @param tenantId   租户ID
     * @param templateId 额度模板ID
     * @return int
     * @author fan.yang
     * date: 2019/10/16 0016 下午 13:57
     */
    int deleteByTemplateIdAndTenId(@Param("tenantId") String tenantId, @Param("templateId") String templateId);

    /**
     * 根据租户ID,组织号和节点模版ID关联查询节点数据集合
     *
     * @param organizationId 机构ID
     * @param templateId     模板ID
     * @param tenantId       租户Id
     * @return java.util.List<java.util.Map   <   java.lang.String   ,   java.lang.Object>>
     * @author xqy
     * date: 2019/10/17 0017 下午 18:21
     */
    List<PrCreditLimitTemplate> selectPrCreditLimitList(@Param("organizationId") String organizationId, @Param("templateId") String templateId, @Param("tenantId") String tenantId);
}
